#pragma once
#ifndef __GAME_H
#define __GAME_H

typedef enum
{
	RUNNING,
	WIN,
	DEFEAT,
	END
}GameStatus;

typedef enum
{
	HIDDEN,
	REVEALED,
	FLAGGLED,
	MINE
}CellState;

typedef struct
{
	CellState state;
	int hasMine;
	int aroundMine;
}Cell;

typedef struct
{
	int Width;
	int Height;
	int NumMine;
	Cell** cells;
}MineField;

typedef struct
{
	int X_Coordinate;
	int Y_Coordinate;
}Coordinate;

typedef struct
{
	int a;
}ScoreBoard;

typedef struct
{
	GameStatus gamestatus;
	MineField* minefield;
	Coordinate coordinate;
	ScoreBoard scoreboard;
}Game;


void game_test(void);

#endif /* __GAME_H */
